package com.juren.business.common;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

public class Constants {
	//Constants
	public static final String SESSION_USER_KEY = "SESSION_USER_KEY";//session存储用户key
	
	public static final int IS_ON = 0;
	public static final int IS_OFF = 1;
	
	public static final int IS_YES = 1;
	public static final int IS_NO = 0;
	
	public static final int IS_DELETE = 1;
	public static final int IS_DELETE_NO = 0;
	//外校退班审核状态
	public static final Integer AUDIT_PASS_NO = 0;//审核驳回
	public static final Integer AUDIT_PASS = 1;//审核通过
	public static final Integer AUDIT_IS_NO = 2;//未审核
	public static final Integer AUDIT_DEALWITH_YES = 3;//已处理
	
	//----------班级管理--------------
	public static final Integer BATCH_CURRI_STOP = 0;
	public static final Integer BATCH_CURRI_TODATE = 1;
	
	//课次状态
	public static final Integer CURRI_STATUS_YES = 1; //已上课
	public static final Integer CURRI_STATUS_NO = 0;//未上课
	public static final Integer CURRI_STATUS_STOP = 2;//停课	
	//public static final Integer CURRI_STATUS_CANCLE = 4;//取消--针对重排情况
	
	//课次状态排序
	public static final Integer CURRI_SORT_STOP = -1;//停课排序
	public static final Integer CURRI_SORT_STOP_NO = 0;//非停课排序
	
	//排课方式
	public static final Integer CLASS_PLAN_WEEK = 0; //按周排
	public static final Integer CLASS_PLAN_DAILY = 1;//按自然日排
	
	/*
	//班级类型
	public static final Integer CLASS_TYPE_JRCLASS = 0; //小班
	public static final Integer CLASS_FULL_TIME = 1;//全日制
	public static final Integer CLASS_TRUSTEE_SHIP = 2;//托管
	public static final Integer CLASS_TYPE_CAMP = 3;//营地
	public static final Integer CLASS_TYPE_EXAME = 4;//考级
	public static final Integer CLASS_TYPE_AGENT = 5;//代收
	
	//聚优
	public static final Integer OTO_BUSINESS_TYPE = 6;//聚优
	*/
    //开班状态
	public static final Integer CLASS_STATUS_START_NO = 0;// 未开班
    public static final Integer CLASS_STATUS_START = 1;// 开班
    public static final Integer CLASS_STATUS_START_FORCE = 2;//强制开班
    public static final Integer CLASS_STATUS_STOP = 3;//停班
    public static final Integer CLASS_STATUS_END = 4;//结课
    //报班状态
    public static final Integer REGISTER_STATUS_START = 1;// 启报
    public static final Integer REGISTER_STATUS_STOP = 0;//停报
    
    //变动状态
    public static final Integer CHANGE_IS_TEMP = 0;// 临时
    public static final Integer CHANGE_IS_EVER = 1;//永久
  
    //----------代缴费--------------
    //代收费用类型
    public static final Integer AGENT_TYPE_MEALS = 0;// 餐费
    public static final Integer AGENT_TYPE_OTHER = 1;//其他
    //----------营地--------------
    //营地状态
    public static final Integer CAMP_OPEN_NO = 0;// 未开营
    public static final Integer CAMP_OPEN_YES = 1;// 开营
    public static final Integer CAMP_STATUS_START_FORCE = 2;// 强开
    public static final Integer CAMP_STATUS_END = 3;//结营
    public static final Integer CAMP_START_FORCE_END = 4;//强结营
    //----------课程管理--------------
    //按某字段查询
    public static final Integer CREATE_TIME = 2;//提交时间
    public static final Integer COURSER_SORT_TYPE_TIME = 1;// 按首授时间
    public static final Integer COURSER_SORT_TYPE_HOUR = 0;// 按小时数
    
    //排序升降
    public static final Integer COURSER_SORT_DESC = 0;// 按首授时间
    public static final Integer COURSER_SORT_ASC = 1;// 按小时数
    
    //考勤状态
    public static final Integer ATTENDANCE_STATUS_NO = 0;// 未考勤
    public static final Integer ATTENDANCE_STATUS_ABSENT = 1;// 缺勤
    public static final Integer ATTENDANCE_STATUS_YES = 2;// 已上课
    //---------------------------账户----------------------------------//
    /**
     * 现金账户
     */
    public static final int ACCOUNT_CASH_TYPE = 0; //现金类型
    /**
     * pos类型
     */
    public static final int ACCOUNT_POSE_TYPE = 1;//pos类型
    /**
     * 支票类型
     */
    public static final int ACCOUNT_CHECK_TYPE = 2;//支票类型
    /**
     * 汇款类型
     */
    public static final int ACCOUNT_REMIT_TYPE = 3;//汇款类型
    /**
     * 支出
     */
    public static final int ACCOUNT_TYPE_OUT = 0;
    /**
     * 退账户
     */
    public static final int ACCOUNT_TYPE_IN = 1;
    
    //---------------------- 账户流水------------------
    /**
     * 支出
     */
    public static final int ACCOUNT_SERIAL_TYPE_OUT = 0;
    /**
     * 退账户
     */
    public static final int ACCOUNT_SERIAL_TYPE_IN = 1;
    /**
     * 其他
     */
    public static final int ACCOUNT_SERIAL_TYPE_OTHER = 2;
    //----------------支付方式-------------------------//
    //支付类型0现金，1pos，2账户，4支票，5卡，6汇款
    /**
     * 0现金
     */
    public static final int PAYTYPES_CASH_TYPE = 0;
    /**
     * pos支付
     */
    public static final int PAYTYPES_POS_TYPE = 1;
    /**
     * 账户支付
     */
    public static final int PAYTYPES_ACCOUNT_TYPE = 2;
    /**
     * 支票支付
     */
    public static final int PAYTYPES_CHECK_TYPE = 4;
    /**
     * 卡支付
     */
    public static final int PAYTYPES_CARD_TYPE = 5;
    /**
     * 汇款支付
     */
    public static final int PAYTYPES_REMIT_TYPE = 6;
    //---------------------------卡-----------------------//
    /**
     * 支出
     */
    public static final int JURENCARDS_TYPE_OUT = 0;
    /**
     * 退卡账户本金
     */
    public static final int JURENCARDS_TYPE_IN = 1;
    /**
     * 赠金退卡账户
     */
    public static final int JURENCARDS_TYPE_IN_PRESENT = 2;
    /**
     * 退卡账户本金赠金
     */
    public static final int JURENCARDS_TYPE_PRESENT_PRINCIPAL = 3;
    /**
     * 退卡
     */
    public static final int JURENCARDS_IS_RETURN = 1;
    /**
     * 没退卡
     */
    public static final int JURENCARDS_NO_RETURN = 0;
    
    //-------------------------财务------------------------------//
    /**
     * 财务是转班记录
     */
    public static final int FINANCE_IS_CHANGE_CLASS = 1;
    
  //业务类型
  	/**
  	 * 业务类型-小班
  	 */
  	public static final int BUSSNESS_TYPE_CLASS = 0;
  	/**
  	 * 业务类型-全日制
  	 */
  	public static final int BUSSNESS_TYPE_FULLTIME = 1;
  	/**
  	 * 业务类型-托管
  	 */
  	public static final int BUSSNESS_TYPE_TRUSTEESHIP = 2;
  	/**
  	 * 业务类型-代缴
  	 */
  	public static final int BUSSNESS_TYPE_AGENT = 3;
  	/**
  	 * 业务类型-考级
  	 */
  	public static final int BUSSNESS_TYPE_EXAM = 4;
  	/**
  	 * 业务类型-营地5
  	 */
  	public static final int BUSSNESS_TYPE_CAMP = 5;
  	/**
  	 * 业务类型-聚优
  	 */
  	public static final int BUSSNESS_TYPE_OTO = 6;
  	/**
  	 * 业务类型-单独商品
  	 */
  	public static final int BUSSNESS_TYPE_COMMODITY = 7;
  	
 //------------------------票据-------------------------//

  	/**
  	 * 聚优协议
  	 */
  	public static final int RECEIPT_OTO_PROTOCOL = 0; 
  	/**
	  * 1 聚优一对一收费凭证		25页/本-家教专用
  	 */
  	public static final int RECEIPT_OTO_PROOF = 1;
  	/**
  	 * 2 巨人学校收费凭证			25页/本-小班家教
  	 */
  	public static final int RECEIPT_JUREN_FEE_PROOF = 2;
  	/**
  	 * 3 巨人学校个人业务凭证		50份/本-退费、退班、打印明细
  	 */
  	public static final int RECEIPT_BUSINESS_PROOF = 3;
  	/**
  	 * 4 巨人学校听课证			100张-小班
  	 */
  	public static final int RECEIPT_JUREN_LISTENER = 4;
  	/**
  	 * 5 巨人学校营员证			1张 - 冬夏令营专用
  	 */
  	public static final int RECEIPT_JUREN_CAMP = 5;
	
  	public static final String MC_CONNECT_ERROR = "会员中心连接错误!";
  	
  	public static final String SEND_SUCCESS = "发送成功!";
  	/***爱学卡*****/
  	public static final int CARD_TYPE_AIXUE = 8;
  	/***畅学卡*****/
  	public static final int CARD_TYPE_CHANGXUE = 9;
  
  	public static final String CARD_CONNECT_ERROR = "卡系统连接错误!";
  	/***2014-05-05---06-30 0元优惠政策上线日期****/
  	public static final String DISCOUNTS_0YUAN_ONLINE_DATE = "2014-05-21";
  	/**2014-05-05-4014-06-30新一年0元优惠***/
  	public static final Map<String,Map<String,List<String>>> DISCOUNT_0YUAN_20140505_0630_COURSE = initDiscount0yuan20140505_0630course();
  	/**5折优惠相关班级**/
  	public static final Map<String,String> REBATE_5_RELATE_CLASS = init5RebateRelateClass();
  	/**暑假**/
    public static final String SEASON_SUMMER = "9cb530c91de6478097704ff2e166e0ec";
    /**秋季**/
    public static final String SEASON_AUTUMN = "e78aee50ff084499bdeeb65a0b0bd878";
  	private static Map<String,Map<String,List<String>>> initDiscount0yuan20140505_0630course(){
  		Map map = new HashMap();//key 秋季班 value 是暑假班
  		Map mapShuXue = new HashMap();
  		mapShuXue.put("一年级数学精英班", Arrays.asList(new String[]{"一年级数学精英班"}));
  		mapShuXue.put("一年级数学培优班", Arrays.asList(new String[]{"一年级数学培优班"}));
  		map.put("数学事业部-自营", mapShuXue);
  		Map mapYuWen = new HashMap();
  		mapYuWen.put("圣陶作文一年级二册", Arrays.asList(new String[]{"圣陶文学低年级一册","圣陶阅读一年级一册","圣陶作文一年级一册"}));
  		mapYuWen.put("*一年级语文启航班", Arrays.asList(new String[]{"*新一年级语文启航班"}));
  		mapYuWen.put("圣陶语文双尖一年级二册", Arrays.asList(new String[]{"圣陶语文双尖一年级一册"}));
  		
    	map.put("语文事业部-自营", mapYuWen);
    	Map mapSEYY = new HashMap();
    	mapSEYY.put("剑桥英语1级上册精英班", Arrays.asList(new String[]{"剑桥多元幼小衔接班","Phonics Wonderland 3","剑桥自然拼音1册"}));
    	mapSEYY.put("剑桥英语预备级上册精英班", Arrays.asList(new String[]{"剑桥自然拼音1册"}));
     	map.put("少儿英语事业部-自营", mapSEYY);
     	Map mapKJMS = new HashMap();
     	mapKJMS.put("咔咔少儿美术三阶段-儿童画色彩技法", Arrays.asList(new String[]{"咔咔少儿美术一阶段-儿童画基础造型"}));
     	mapKJMS.put("咔咔少儿美术五阶段-儿童画主题人物", Arrays.asList(new String[]{"咔咔少儿美术一阶段-儿童画基础造型"}));
    	map.put("科技艺术部-自营-美术", mapKJMS);
    	Map mapKJSF = new HashMap();
    	mapKJSF.put("新龙人软笔书法一期", Arrays.asList(new String[]{"新龙人新一年级硬笔楷书速成班"}));
    	mapKJSF.put("新龙人软笔书法二期", Arrays.asList(new String[]{"新龙人新一年级硬笔楷书速成班"}));
    	mapKJSF.put("新龙人软笔书法三期", Arrays.asList(new String[]{"新龙人新一年级硬笔楷书速成班"}));
    	map.put("科技艺术部-自营-书法", mapKJSF);
    	Map mapYTTY = new HashMap();
    	mapYTTY.put("跆拳道入门二期班", Arrays.asList(new String[]{"跆拳道入门一期班"}));
    	mapYTTY.put("围棋入门二期班", Arrays.asList(new String[]{"围棋入门一期班"}));
    	map.put("艺体部-自营-体育", mapYTTY);
    	Map mapYTWD = new HashMap();
    	mapYTWD.put("中国舞初级", Arrays.asList(new String[]{"中国舞初级"}));
   		map.put("艺体部-自营-舞蹈", mapYTWD);
   		Map mapYTSY = new HashMap();
   		mapYTSY.put("金嗓子童声训练初级班", Arrays.asList(new String[]{"金嗓子声乐表演速成班"}));
   		map.put("艺体部-自营-声乐", mapYTSY);
  		return map;
  		
  	}
  	/**
  	 * <p>作者:lht</p>
  	 * <p>功能描述:5折扣优惠相关班级key 秋季班 value 暑假班</p>
  	 * <p>创建时间:2014-5-28上午10:13:32</p>
  	 * <p>@return</p>
  	 * <p>修改:</p>
  	 */
	private static Map<String,String > init5RebateRelateClass(){
		Map map = new HashMap();
		map.put("初一英语精英班", "初一英语精英班");
		map.put("初一语文精英班", "初一语文精英班");
		map.put("初一数学精英班", "初一数学精英班");
		
		return map;
	}

}
